package com.mh.dao;

import com.mh.domain.AppUser;

import java.util.Date;
import java.util.List;
import java.util.Set;

import org.skyway.spring.util.dao.JpaDao;

import org.springframework.dao.DataAccessException;

/**
 * DAO to manage AppUser entities.
 * 
 */
public interface AppUserDAO extends JpaDao<AppUser> {

	/**
	 * JPQL Query - findAppUserByUserNameContaining
	 *
	 */
	public Set<AppUser> findAppUserByUserNameContaining(String userName) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByUserNameContaining
	 *
	 */
	public Set<AppUser> findAppUserByUserNameContaining(String userName, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserBySecretPasswordContaining
	 *
	 */
	public Set<AppUser> findAppUserBySecretPasswordContaining(String secretPassword) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserBySecretPasswordContaining
	 *
	 */
	public Set<AppUser> findAppUserBySecretPasswordContaining(String secretPassword, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByFullName
	 *
	 */
	public Set<AppUser> findAppUserByFullName(String fullName) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByFullName
	 *
	 */
	public Set<AppUser> findAppUserByFullName(String fullName, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByFullNameContaining
	 *
	 */
	public Set<AppUser> findAppUserByFullNameContaining(String fullName_1) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByFullNameContaining
	 *
	 */
	public Set<AppUser> findAppUserByFullNameContaining(String fullName_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAllAppUsers
	 *
	 */
	public Set<AppUser> findAllAppUsers() throws DataAccessException;

	/**
	 * JPQL Query - findAllAppUsers
	 *
	 */
	public Set<AppUser> findAllAppUsers(int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByEmail
	 *
	 */
	public Set<AppUser> findAppUserByEmail(String email) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByEmail
	 *
	 */
	public Set<AppUser> findAppUserByEmail(String email, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByState
	 *
	 */
	public Set<AppUser> findAppUserByState(Boolean state) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByState
	 *
	 */
	public Set<AppUser> findAppUserByState(Boolean state, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByEmailContaining
	 *
	 */
	public Set<AppUser> findAppUserByEmailContaining(String email_1) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByEmailContaining
	 *
	 */
	public Set<AppUser> findAppUserByEmailContaining(String email_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByBirthday
	 *
	 */
	public Set<AppUser> findAppUserByBirthday(java.util.Date birthday) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByBirthday
	 *
	 */
	public Set<AppUser> findAppUserByBirthday(Date birthday, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByUserName
	 *
	 */
	public Set<AppUser> findAppUserByUserName(String userName_1) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByUserName
	 *
	 */
	public Set<AppUser> findAppUserByUserName(String userName_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserById
	 *
	 */
	public AppUser findAppUserById(Integer id) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserById
	 *
	 */
	public AppUser findAppUserById(Integer id, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserBySecretPassword
	 *
	 */
	public Set<AppUser> findAppUserBySecretPassword(String secretPassword_1) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserBySecretPassword
	 *
	 */
	public Set<AppUser> findAppUserBySecretPassword(String secretPassword_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByPrimaryKey
	 *
	 */
	public AppUser findAppUserByPrimaryKey(Integer id_1) throws DataAccessException;

	/**
	 * JPQL Query - findAppUserByPrimaryKey
	 *
	 */
	public AppUser findAppUserByPrimaryKey(Integer id_1, int startResult, int maxRows) throws DataAccessException;

	public List<AppUser> findAllAppUsers(AppUser appuser, int startResult, int maxRows);
	
	
	public List<AppUser> findAppUser(AppUser appuser) throws DataAccessException;
	
	
}